#相较于代码1，代码3的表达更加简洁明了了，算法效率与代码1近似相等
def quickSort(x,start,end):
    if start>=end:
        return

    i=start
    j=end
    #使用第一个元素作为轴值
    key=x[start]

    while i<j:
        #从后往前寻找第一个比指定元素小的元素
        while i<j and x[j]>=key:
            j-=1
        x[i]=x[j]

        #从前往后寻找第一个比指定元素大的元素
        while i<j and x[i]<=key:
            i+=1
        x[j]=x[i]
        x[i]=key
    quickSort(x,start,i-1)
    quickSort(x,i+1,end)